package com.jzo2o.health.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jzo2o.api.trade.dto.response.ExecutionResultResDTO;
import com.jzo2o.health.model.domain.Orders;
import com.jzo2o.health.model.dto.OrderCanelDTO;
import com.jzo2o.health.model.dto.request.OrdersCancelReqDTO;

import java.math.BigDecimal;
import java.util.List;

/**
 * 订单表
 */
public interface IOrdersManagerService extends IService<Orders> {

    /**
     * 取消订单
     * @param ordersCancelReqDTO
     */
    void cancel(OrdersCancelReqDTO ordersCancelReqDTO);

    /**
     * 取消未支付订单
     * @param orderCanelDTO
     */
    void cancelNoPayOrder(OrderCanelDTO orderCanelDTO);

    /**
     * 取消支付订单
     * @param orderCanelDTO
     */
    void cancelDispatchingOrder(OrderCanelDTO orderCanelDTO);

    /**
     * 退款操作
     * @param id
     * @param setmealPrice
     * @param tradingOrderNo
     */
    void requestRefundOrder(Long id, BigDecimal setmealPrice, Long tradingOrderNo);

    /**
     * 退款
     * @param res
     * @param id
     */
    void refundOrder(ExecutionResultResDTO res, Long id);

    /**
     * 查询超时未支付的订单
     * @param count
     * @return
     */
    List<Orders> queryOverTimeNoPayOrdersByCount(int count);

    /**
     * 退款1111111111
     * @param ordersCancelReqDTO
     */
    void abc(OrdersCancelReqDTO ordersCancelReqDTO);
}
